[セッションレポート] OSSを使ったAWSオブザーバビリティ – OPN301 Open-source observability at AWS #reinvent
AWS re:Invent 2020 にて行われたセッション「OPN301 Open-source observability at AWS」を聴講しましたのでレポートします。
オブザーバビリティ(可観測性、o11y)、つまり「AWS 上に構築したシステムを見通しよく、システム内で何が行われているかがよく把握できるようにする」ためにはどう考え何を使えば良いのか、OSS の観点から語られたセッションでした。
(以下、訳文は基本的に DeepL 翻訳の結果に加筆修正したものとなります)
録画・資料(要レジストレーション)
Open-source observability at AWS - AWS re:Invent 2020
概要
Hear from a CNCF SIG observability (o11y) member on the state of open-source o11y on AWS. From the Fluent Bit-based FireLens to Prometheus metrics in Amazon CloudWatch to OpenTelemetry, there is a lot to discuss and show in the context of microservices, containers, and serverless compute.
(抄訳)Fluent Bit ベースの FireLens、CloudWatch の Prometheus メトリック、OpenTelemetry まで、マイクロサービス・コンテナ・サーバーレスにおいて語られるべきことはたくさんあります。CNCF SIG (Special Interest Group) Observabilityのメンバーが AWS 上のオープンソース o11y の状況をお話しします。
スピーカー
- Michael Hausenblas
- Sr. Open Source Product Developer Advocate
- AWS Container Service Team
- AWS
内容
- オブザーバビリティの概念を代表する 3 つのパーツ
- ログ
- イベント個々の情報
- 通常タイムスタンプ付き
- 構造化可能
- メトリクス
- 定期的に収集
- 数値データ
- ディメンション、ラベル
- トレース
- 複数のサービスを横断するリクエストの流れ
- ログ
- AWS では?
- ログ ... CloudWatch Logs
- 1 ヶ月にトータルで 100PB のログを格納
- メトリクス ... CloudWatch
- 1 ヶ月に 1,000 兆のデータ
- トレース ... X-Ray
- 数十の言語とインテグレーション対応
- ログ ... CloudWatch Logs
- CNCF での活動
- Graduated
- Prometheus (メトリクス監視)
- Jeager (分散トレース)
- Fluentd (ログ収集)
- Incubating
- Cortex, Thanos (Prometheus 拡張)
- Sandbox
- OpenTelemetry, OpenMetrics (データフォーマットの標準化)
- Chaos Mesh, Litmus (カオスエンジニアリング)
- Graduated
AWS のコントリビューション (貢献) 例
- FireLens (Fluent Bit) for ECS, EKS
- Centralized Container Logging with Fluent Bit | AWS Open Source Blog
- 参考 : Firelens の発表 – コンテナログの新たな管理方法 | Amazon Web Services ブログ
- ログルーティング
- FireLens コンテナ経由でログを CloudWatch や S3、Elasticsearch、他 SaaS 等へ転送
- Container Insights for Prometheus metrics
- Using Prometheus Metrics in Amazon CloudWatch | Containers
- 参考:Amazon CloudWatch で Container 環境から Prometheus メトリクスのモニタリングを開始
- Prometheus メトリクスを CloudWatch が収集・一元化
- OpenTelemetry C++ ライブラリ
Next steps - 改善すべき点
- 信号を収集/分析するために、複数の SDK とエージェントを併用している
- 開発者が異なる SDK を使用してアプリを計測するため、速度が低下する
- 複数のエージェントを実行すると、リソースの消費が増加し、不要なコストが発生する
- 手動でトレースとメトリクスを相関させるのは時間がかかり、エラーが発生しやすい
そこで:
AWS Distro for OpenTelemetry
- Introduction | AWS Open Distro for OpenTelemetry
- AWS Distro for OpenTelemetry – Amazon Web Services
- ※パブリックプレビュー
- メトリクスとトレースを相関させつつ収集する、たったひとつの標準化された API ・ SDK ・エージェント
- 選択の自由:与えられたユースケースのためにベストのものを
- オープンスタンダード、特に CNCF OpenTelemetry と W3C Trace Context と連携
- オープンソースによって構築されたポータブルな o11y システム(オンプレミスからクラウドへの移行など)
- ハンズオン -> Hello ? :: Observability Workshop
所感
可観測性の基本を抑えつつ、AWS + OSS でそれを実現するための方策を説いたセッションでした。AMP / AMG (Amazon Managed Service for Prometheus / Grafana) が公開された今であれば、ここからさらにもう一歩踏み出すことが可能そうですね。
ハンズオンは楽しそうなので、余裕を見つけてやってみたいと思います!
AWS re:Invent 2020 Wave 2 は '21/01/12 から開催です!
前半戦(Wave 1)のセッション・資料にもアクセスが可能です。
参加がまだの方は、この機会に是非こちらのリンクからレジストレーションして豊富なコンテンツを楽しみましょう!